Hello,
@rahul1 ,
@reshma
I am trying to support multi selected items but after selecting 2 or 3 items response logs only one?
should I configure / change my code to support multiple options to select?
here is the code:
import { Document, QuestionnaireForm } from "@medplum/react";
import { QuestionnaireResponse } from "@medplum/fhirtypes";
import { getQuestionnaireAnswers } from "@medplum/core";
export function RegisterPractitioner(): JSX.Element {
const invokeBot = async (data: QuestionnaireResponse) => {
console.log('Submitted data: ', data);
// Get answers from the questionnaire
const resp = getQuestionnaireAnswers(data);
// Parse multiple selections from the 'method' field
const methodAnswers = resp['method'];
if (Array.isArray(methodAnswers)) {
const selectedMethods = methodAnswers.map(answer => answer.valueString);
console.log('Selected methods: ', selectedMethods);
} else {
console.log('Single selected method: ', methodAnswers?.valueString);
}
};
return (
<QuestionnaireForm questionnaire={{
resourceType: 'Questionnaire',
id: 'multi-select-example',
title: 'Multiple Selection Example',
item: [
{
linkId: 'name',
text: 'Your Name',
type: 'string'
},
{
linkId: 'method',
text: 'Select your preferred methods (multiple)',
type: 'choice',
repeats: true, // Allow multiple selections
answerOption: [
{ valueString: 'Method 1' },
{ valueString: 'Method 2' },
{ valueString: 'Method 3' },
{ valueString: 'Method 4' }
],
extension: [{
url: 'http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl',
valueCodeableConcept: {
coding: [{
system: 'http://hl7.org/fhir/questionnaire-item-control',
code: 'check-box', // Ensure check boxes are used for multiple selections
display: 'Check boxes'
}],
text: 'Check boxes'
}
}]
}
]
}} onSubmit={invokeBot} />
);
}
thanks!